package com.app.model;


import com.app.vo.ExperienceVo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.web.bind.annotation.RequestParam;

import java.sql.Timestamp;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("tb_job_publish")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class JobPublishModel {
    @TableId(type = IdType.AUTO)
    private  Integer id;
    private  String jobTitle;
    private  Integer jobType;
    @TableField(exist = false)
    private  String jobTypeText;
    private  Integer expId;//经验ID
    private  Integer eduId;//学历ID
    @TableField(exist = false)
    private String eductionText;
    @TableField(exist = false)
    private  List<Integer> eduIds;//学历ID集合
    private  Integer minSalary;
    private  Integer maxSalary;
    private  String jobDescription;
    private  String jobAddress;

    private Integer jobNumber;
    public String officeAsk;//任职要求
    public Integer enrollId;//所属公司ID
    public Integer recruitType;//招聘类型
    @TableField(exist = false)
    private List<Integer>  jobTypes;//多行业
    @TableField(exist = false)
    private Integer scaleId;
    @TableField(exist = false)
    private Integer natureId;

    @TableField(exist = false)
    private List<String> fatherCodeList;
    @TableField(exist = false)
    public ComRecruitersModel comRecruiters;
    @TableField(exist = false)
    private Double distance;
    @TableField(exist = false)
    private String distances;//距离左边点（km）

    @TableField(exist = false)
    private Integer isHeat;//是否热点企业
    public Integer recId;//HR外键

    public double longitude;//经度

    public double latitude;//纬度

    private Integer streetId;//街道ID

    public String startTime;//工作开始时间
    @TableField(exist = false)
    private Integer orderDistance;

    public String endTime;//工作结束时间

    public String keyword;//关键字

    private Integer worry;//0不急招1急招

    private String welfare;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") //后端注解格式化日期
    public Timestamp crtTime;
    @TableField(exist = false)
    public String crtTimeText;
    @TableField(exist = false)
    public String comName;
    @TableField(exist = false)
    private String jobName;

    @TableField(exist = false)
    public Integer sumAll;
    @TableField(exist = false)
    private  String expRequireText;//经验文字
    @TableField(exist = false)
    private  String minEducationText;//学历文字

    private  Integer recruitState;//1开放2待开放3审核失败4关闭
    @TableField(exist = false)
    private String recruitStateText;
    @TableField(exist = false)
    private Integer exType;

    @TableField(exist = false)
    private Integer level;

    @TableField(exist = false)
    private String fatherCode;
    @TableField(exist = false)
    private Integer page;
    @TableField(exist = false)
    private Integer limit;
    @TableField(exist = false)
    private EnterpriseModel enterprise;
    @TableField(exist = false)
    private Integer number;

   private Integer  salaryNegotiable;//薪资面议状态1面议0薪资下拉框
    @TableField(exist = false)
    private Integer collection;//收藏
    @TableField(exist = false)
    private Integer follow;//关注

    private String remarks;
    @TableField(exist = false)
    private Integer resume;//是否已投递
    @TableField(exist = false)
    private Integer deliveryCount;
    @TableField(exist = false)
    private List<ExperienceVo> WelfareList;//福利待遇

    @TableField(exist = false)
    private  List<Integer> postIds;//行业ID匹配

    @TableField(exist = false)
    private Integer lookCount;//浏览人数

    @TableField(exist = false)
    private Integer orderDate;//时间排序
    @TableField(exist = false)
    private Integer orderEducation;//学历排序
    @TableField(exist = false)
    private Integer orderWages;//薪资排序
    @TableField(exist = false)
    private Integer pubId;//不查询ID
    @TableField(exist = false)
    private Integer count;
    @TableField(exist = false)
    private EnterpriseModel enterpriseModels;
    @TableField(exist = false)
    private String searchName;
    @TableField(exist = false)
    private Integer resumeCount;
}
